1. Technical Field
This invention relates generally to techniques for interpolating pixel values in a computer graphics display. More particularly, the invention provides an efficient method for increasing the apparent display resolution in terminals such as those used in subscription television systems.
2. Related Information
In subscription television systems, an encoded television signal is usually decoded and formatted for display on a television screen by a device commonly referred to as a "set-top terminal". Such terminals have been equipped in recent years with additional capabilities, such as the ability to provide video games which display computer-generated graphics images on the television screen.
When used for displaying computer graphics, such terminals generally format the graphics according to one or more video display standards, such as 320.times.240 pixels or 640.times.480 pixels. The use of a medium resolution display image (e.g., 320.times.240 pixels) increases graphics performance and reduces memory requirements for video games and other high performance applications which require substantial pixel manipulation, because fewer pixels must be manipulated and stored. However, a medium resolution image is inferior for display purposes, and it is preferable to display images at a higher resolution (e.g., 640.times.480 pixels). Accordingly, it is desirable to generate and manipulate graphics images in a low or medium resolution format and then "upscale" the image to a higher resolution for display.
The prior art provides various techniques for increasing the resolution of a video display by forming additional scan lines. For example, U.S. Pat. No. 4,484,188 to Ott, entitled "Graphics Video Resolution Improvement Apparatus", discloses a system which increases the resolution of a video image by forming additional scan lines by combining adjacent scan lines. The technique improves both the horizontal resolution and vertical resolution by generating interpolation scan lines. However, such systems require relatively complicated circuits, thus driving up the cost of terminals equipped with such circuits.
Conventional computer graphics display systems often include the ability to overlay an image onto background video. For example, sports scores may be superimposed at the bottom of a moving image of a football game. In such systems, each pixel can be rendered in one of three ways: opaque (every pixel takes on the value of the overlaid image only); translucent (the overlaid image and background image can be blended so that the background image can be "seen through" the overlay); or as transparent (only the background image is displayed).
As another example, a graphical control object such as a volume control indicator may be superimposed over a live video image on a television display. As shown in FIG. 1A, for example, a live video image 101 may be combined with a volume control indicator 102 in such a manner that the resulting image 103 includes both images; i.e., the user can see two layers of screen images: the live video that was visible before the overlay, and the overlaid image itself.
In order to control the amount of blending in the aforementioned examples, conventional systems typically allocate a plurality of additional bits for each pixel which indicate the degree to which the pixels from the overlay and background will be blended. For example, a group of such "blending" bits for each pixel can be multiplied with the overlay pixel value before being combined with the background image, thus controlling whether the overlay portion or the background image will dominate the resultant image.
As shown in FIG. 1B, for example, each pixel value 104 in an overlay image 102 may have associated therewith a "blending" factor 105 (comprising a plurality of bits) which is multiplied by the overlay pixel value in order to blend the overlay with the background image pixel 106 to produce a resultant pixel 108. These operations can be used to produce a blended image such as image 103 of FIG. 1A.
A conventional formula used to blend an overlay image and a background image for each pixel of a display is given by the following equation: EQU .alpha.*(overlay pixel value)+(1-.alpha.)*(background pixel value),
where .alpha. represents the blending value associated with each pixel in the overlay image and "*" indicates multiplication. For a red-green-blue (RGB) pixel value comprising 16 bits (5 red, 6 green, 5 blue), each color component is separately blended to produce the resultant image.
A difficulty arises, however, if a lower resolution image is interpolated to a higher resolution ("upscaled"). If an overlay image comprising pixels each having an associated group of "blending" bits is upscaled for display by interpolating the pixel values, and then combined with a background image, the resulting image will be degraded. For example, if an overlay pixel is transparent but an adjacent overlay pixel is opaque, an interpolation between the two overlay pixels will result in an erroneous display value. This is because with conventional methods the interpolated pixel will be a blend of the opaque (visible) value and the transparent (invisible) value, while the interpolated blending value will be an average of (in this case) 1 (opaque) and 0 (transparent). The interpolated blending value is thus correct, but the interpolated pixel will be incorrect, since one of the components is intended to be completely invisible. In a specific example, the transparent pixel may have a color that is bright and irritating, while the visible pixel may be dark and subtle. The interpolated value will be a blend of these, while the desired interpolated value will be dark and subtle. Accordingly, conventional techniques of blending images cannot be used in conjunction with video upscaling.